Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and non-volatile/flash memory.
Flash memory devices have developed into a popular source of non-volatile memory for a wide range of electronic applications. Flash memory devices typically use a one-transistor memory cell that allows for high memory densities, high reliability, and low power consumption. Common uses for flash memory include personal computers, personal digital assistants (PDAs), digital cameras, and cellular telephones. Program code and system data such as a basic input/output system (BIOS) are typically stored in flash memory devices for use in personal computer systems.
Each cell in a non-volatile memory device can be programmed as a single bit per cell (i.e., single level cell—SLC) or multiple bits per cell (i.e., multilevel cell—MLC). Each cell's threshold voltage (Vth) determines the data that is stored in the cell. For example, in an SLC, a Vth of 0.5V might indicate a programmed cell while a Vth of −0.5V might indicate an erased cell. The MLC has multiple positive Vth distributions that each indicates a different state whereas a negative distribution typically indicates an erased state. MLC take advantage of the analog nature of a traditional flash cell by assigning a bit pattern to a specific voltage range stored on the cell. The distributions are part of a larger programming window (i.e., the voltage range in which a memory device is programmable) and are separated by a voltage space or margin that is relatively small due to the limitations of fitting, for example, four states into a low voltage memory device.
As flash memory cells go through multiple erase/program cycles, they lose their ability to be erased to a specific negative voltage. This is a result of electron traps in the tunnel oxide that separates the charge storage layer (e.g., floating gate) from the substrate. This is especially undesirable in MLC technology where more states are required to be stored within the programming window. A smaller programming window after cycling can limit the quantity of MLC program states available in the memory device.
FIG. 1 illustrates a graph showing the programming threshold voltage changes for a typical non-volatile memory device. This figure shows the threshold voltages of the non-volatile memory cells along the y-axis and the quantity of erase/program cycles along the x-axis.
Initially, a memory cell might have a maximum erased state of −3.0V and a maximum programmed state of 3.0V as shown closer to the y-axis where the quantity of erase/program cycles is low. As the cycles approach 10 k cycles, it can be seen that the maximum erase state threshold voltage has increased to 0V while the maximum programmed state threshold voltage has increased to 5.0V. Therefore, the most reliable program window in this graph is fixed as being between 0V and 3V. This is the fixed program window that is used for sense operations for a non-volatile memory device.
For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a way to adjust for the effects of erase/program cycling on a program window in a non-volatile memory device.